"""
模块介绍

模块化是将程序分解为一个个的模块module，通过组合模块来搭建出一个完整的程序。便于团队开发，方便维护，代码复用。

在python中一个脚本(.py)文件就是一个模块，创建模块实际上就是创建一个.py文件，可以被其他模块导入并使用。注意：
① 自定义模块的时候要注意命名的规范，使用小写，不要使用大写，不要使用中文，不要使用特殊字符等；
② 不要与内置模块冲突，例如 sys 等；
"""

# 在模块中定义变量
a = 10
b = 20

# 在模块中定义函数


def max(x, y):
    """
    加法
    :param x:
    :param y:
    :return:
    """
    return x + y


def min(x, y):
    """
    减法
    :param x:
    :param y:
    :return:
    """
    return x - y

# 在模块中定义类


class Calculator:

    def __init__(self, name):
        self.name = name

    @classmethod
    def sum(cls, *nums):
        res = 0
        for i in nums:
            res += i
        return res


'''
__name__ 属性是模块的内置属性，每个模块中都有 该属性，当该.py文件是主执行文件，直接被执行时，其值为 __main__ ，当该.py文件是被调用，导入执行文件
时，其值为模块名
'''

# 程序入口，类似于java中的main()方法，只在当**直接调用**该文件时才会执行，用来**执行测试**
if __name__ == '__main__':
    # 只有在当前界面执行才会打印该内容，其他文件中不会执行
    calculator_sum = Calculator.sum(1, 2, 3)
    print(calculator_sum)

